Authentication is an important issue in many types of network communications. In some security protocols, a human user may act as a secure channel. That is, the human user is required by these protocols to enter a secret or authentic value into a first device which will authenticate the user or a second device to the first device. For example, an authentication mechanism for UPnP2 devices may require the human user to type into a computing device (the first device) a registration code that is either shipped on paper with the device or readable from a display within the device. In this manner, the user is authenticated to use the first device. For another example, an authenticated key-exchange protocol may require a human user to read an authentication code to another human user over a telephone to prevent man-in-the-middle attacks against the protocol. In yet another example, users may be required to verify the hash codes of trusted public keys or root certificates (e.g., self-signed SSL certificates in a network browser application). In yet another example, a user may enter a security code (such as a hash of a public key) of a media device (first device) (e.g., television set, digital video recorder, stereo sound system, and the like) to a newly purchased universal remote control (the second device). The remote control device may then transfer the user input security code to the media device to allow the remote control to be authenticated and used with the media device.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.